package com.example.overdue.util;

import com.example.overdue.data.OberdueData;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class DataUtil {

    //过期物品的数据集合
    private static List<OberdueData> oberdueDataList = null;

    //获取过期物品的数据集合
    public static List<OberdueData> getOberdueList() {
        //没有数据添加数据并按时间排序
        if (oberdueDataList == null) {
            oberdueDataList = new ArrayList<>();
            oberdueDataList.add(new OberdueData(1635771154000L, 1, "修正液"));
            oberdueDataList.add(new OberdueData(1635857554000L, 0, "山楂"));
            oberdueDataList.add(new OberdueData(1636011520010L, 1, "笔芯"));
            oberdueDataList.add(new OberdueData(1636011520000L, 0, "山楂"));
            oberdueDataList.add(new OberdueData(1636011520030L, 1, "自动铅笔"));
            oberdueDataList.add(new OberdueData(1636011520020L, 0, "菠萝"));
            oberdueDataList.add(new OberdueData(1636011520030L, 1, "钢笔"));
            oberdueDataList.add(new OberdueData(1636011520020L, 0, "火龙果"));
            oberdueDataList.add(new OberdueData(1636011520030L, 1, "修正液"));
            oberdueDataList.add(new OberdueData(1636011520000L, 0, "西瓜"));
            oberdueDataList.add(new OberdueData(1633073920000L, 0, "梨"));
            oberdueDataList.add(new OberdueData(1633246720000L, 0, "菠萝"));
            oberdueDataList.add(new OberdueData(1601710720000L, 0, "山楂"));
            oberdueDataList.add(new OberdueData(1570088320000L, 0, "猕猴桃"));
            oberdueDataList.add(new OberdueData(1575358720000L, 0, "火龙果"));
            oberdueDataList.add(new OberdueData(1575358720000L, 1, "铅笔"));
            oberdueDataList.add(new OberdueData(1627976320000L, 1, "笔芯"));
            oberdueDataList.add(new OberdueData(1609659520000L, 1, "自动铅笔"));
            oberdueDataList.add(new OberdueData(1578037120000L, 1, "中性笔"));
            oberdueDataList.add(new OberdueData(1611128320000L, 1, "钢笔"));
            oberdueDataList.add(new OberdueData(1621496320000L, 1, "修正液"));
            //List集合中对象的排序(按过期时间)
            Collections.sort(oberdueDataList, new Comparator<OberdueData>() {
                @Override
                public int compare(OberdueData o1, OberdueData o2) {
                    //升序
                    return (int) (o1.getTime() - o2.getTime());
                }
            });
        }
        return oberdueDataList;
    }


    //根据时间戳转换日期
    public static String showTime(long time) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");// HH:mm:ss
        java.util.Date currenTimeZone = new java.util.Date(time);
        return sdf.format(currenTimeZone);
    }

    //获取某个月有多少天
    public static int countDaysInMonth(String year, String month) {
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.YEAR, Integer.parseInt(year));
        cal.set(Calendar.MONTH, Integer.parseInt(month) - 1);//Java月份才0开始算
        int dateOfMonth = cal.getActualMaximum(Calendar.DATE);
        return dateOfMonth;
    }

}
